package com.sh.rbac.core.mybatis.annotation;

import java.lang.annotation.*;

/**
 * 数据权限过滤注解
 *
 * @author wb
 * @since 2025-05-19
 */

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataPermission {

    /**
     * 表别名
     *
     * @return 表别名
     */
    String tableAlias() default "";

    /**
     * 部门id字段名称
     *
     * @return 部门id字段名称
     */
    String deptColumn() default "dept_id";

    /**
     * 用户id字段名称
     *
     * @return 用户id字段名称
     */
    String userColumn() default "create_by";

    /**
     * 是否需要关联部门表
     *
     * @return 是否需要关联部门表
     */
    boolean needJoin() default false;
}
